๐ฏ Tujuan Pembelajaran
Setelah mempelajari materi ini, siswa diharapkan mampu:
- Menjelaskan pengertian Machine Learning dengan bahasa sederhana.
- Menjelaskan hubungan antara data, fitur, target, dan model.
- Membedakan data untuk belajar dan data untuk pengujian.
- Menggunakan Python pada Google Colab untuk membuat model sederhana.
- Mengenal regresi linear sebagai salah satu metode Machine Learning.
- Menggunakan library
scikit-learn. - Membuat model berdasarkan data jam belajar dan nilai.
- Menggunakan model untuk menghasilkan prediksi.
- Menjelaskan hasil model secara hati-hati berdasarkan data.
โ๏ธ Machine Learning di Google Colab
Google Colab memungkinkan kita menjalankan Python melalui browser. Untuk pembelajaran Machine Learning, Colab sangat praktis karena kode dapat ditulis, dijalankan, dan hasilnya langsung terlihat di notebook.
print("Saya sedang belajar Machine Learning!")๐ค Apa itu Machine Learning?
Machine Learning (ML) adalah pendekatan dalam kecerdasan artifisial yang memungkinkan komputer mempelajari pola dari data sehingga dapat menghasilkan prediksi atau keputusan berdasarkan pola tersebut.
Dalam pemrograman biasa, kita sering menuliskan aturan secara langsung. Dalam Machine Learning, kita memberikan contoh data kepada algoritma sehingga model dapat menemukan pola matematis dari data tersebut.
๐ง Konsep Dasar Machine Learning
1. Dataset
Dataset adalah kumpulan data yang digunakan untuk analisis atau pembelajaran model.
2. Fitur (Feature)
Fitur adalah informasi yang digunakan model sebagai masukan. Dalam contoh kita, jam belajar menjadi fitur.
3. Target
Target adalah nilai yang ingin diprediksi. Dalam contoh kita, nilai menjadi target.
4. Model
Model adalah hasil pembelajaran algoritma terhadap data. Model menerima input baru dan menghasilkan output berdasarkan pola yang telah dipelajari.
5. Prediksi
Prediksi adalah hasil yang diberikan model ketika kita memasukkan data baru.
| Istilah | Contoh pada materi | Penjelasan sederhana |
|---|---|---|
| Dataset | Jam belajar + nilai | Kumpulan contoh data. |
| Feature | Jam belajar | Data masukan untuk model. |
| Target | Nilai | Data yang ingin diprediksi. |
| Model | Regresi Linear | Pola matematis yang dipelajari dari data. |
| Prediksi | Nilai untuk jam belajar baru | Output model. |
๐๏ธ Dataset Contoh: Jam Belajar dan Nilai
Kita akan menggunakan dataset sederhana agar konsep Machine Learning mudah dipahami.
| Jam Belajar | Nilai |
|---|---|
| 1 | 55 |
| 2 | 60 |
| 3 | 68 |
| 4 | 75 |
| 5 | 82 |
| 6 | 88 |
jam_belajar = [1, 2, 3, 4, 5, 6]
nilai = [55, 60, 68, 75, 82, 88]
print("Jam belajar:", jam_belajar)
print("Nilai:", nilai)๐ Fitur dan Target
Sebelum membuat model, kita harus menentukan apa yang menjadi input dan apa yang menjadi output.
Secara sederhana:
Dalam Python dan scikit-learn, fitur biasanya ditulis sebagai data berbentuk dua dimensi, sedangkan target biasanya berbentuk satu dimensi.
X = [[1], [2], [3], [4], [5], [6]]
y = [55, 60, 68, 75, 82, 88]X pada scikit-learn untuk satu fitur tetap perlu berbentuk seperti [[1], [2], [3]], bukan hanya [1, 2, 3].๐ Mengenal Regresi Linear
Regresi linear adalah salah satu metode yang dapat digunakan untuk memodelkan hubungan antara variabel input dan target menggunakan hubungan garis lurus.
Untuk pembelajaran dasar, bayangkan kita memiliki titik-titik data pada grafik. Model regresi linear mencari garis yang paling sesuai dengan pola titik-titik tersebut.
Bentuk sederhananya dapat ditulis:
x = fitur/input, y = nilai prediksi, a = intercept, dan b = koefisien/slope.Siswa tidak perlu menghitung rumus secara manual pada tahap awal. Library scikit-learn dapat membantu melakukan proses tersebut.
๐งฐ Scikit-learn
scikit-learn adalah library Python yang menyediakan banyak algoritma Machine Learning. Pada materi ini kita menggunakan LinearRegression.
from sklearn.linear_model import LinearRegression| Perintah | Fungsi |
|---|---|
LinearRegression() | Membuat objek model regresi linear. |
model.fit(X, y) | Melatih model menggunakan data. |
model.predict(X_baru) | Menghasilkan prediksi untuk data baru. |
model.coef_ | Melihat koefisien model. |
model.intercept_ | Melihat intercept model. |
๐พ Menyiapkan Data untuk Model
Kita ubah data menjadi bentuk yang mudah diproses scikit-learn.
X = [[1], [2], [3], [4], [5], [6]]
y = [55, 60, 68, 75, 82, 88]
print("Fitur:", X)
print("Target:", y)Mengapa X menggunakan tanda kurung ganda?
Karena scikit-learn mengharapkan fitur dalam bentuk jumlah data ร jumlah fitur. Kita memiliki 6 data dan 1 fitur, sehingga bentuknya 6 ร 1.
โ๏ธ Data Training dan Data Testing
Dalam Machine Learning, kita sering membagi data menjadi data untuk training dan data untuk testing.
- Training data digunakan untuk membantu model mempelajari pola.
- Testing data digunakan untuk melihat bagaimana model bekerja pada data yang tidak digunakan saat pelatihan.
Untuk dataset yang lebih besar, kita dapat menggunakan train_test_split().
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)๐ง Membuat dan Melatih Model
Langkah utama berikutnya adalah membuat model dan melatihnya dengan data.
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y)
print("Model berhasil dilatih.")Apa yang terjadi saat fit()?
Metode fit() digunakan untuk membuat model mempelajari pola hubungan antara fitur dan target berdasarkan data yang diberikan.
fit() untuk belajar โ predict() untuk memprediksi.๐ฎ Melakukan Prediksi
Setelah model dilatih, kita dapat memberikan data baru.
Misalnya kita ingin melihat prediksi nilai untuk siswa yang belajar selama 7 jam.
jam_baru = [[7]]
prediksi = model.predict(jam_baru)
print("Prediksi nilai:", prediksi[0])Nilai yang keluar merupakan prediksi model, bukan jaminan nilai sebenarnya.
๐ Evaluasi Sederhana
Model perlu dievaluasi untuk mengetahui seberapa baik prediksinya pada data tertentu. Salah satu ukuran yang umum pada regresi adalah Rยฒ (R-squared).
r2 = model.score(X, y)
print("Rยฒ:", r2)Nilai Rยฒ menggambarkan seberapa baik model menjelaskan variasi target pada data yang digunakan untuk menghitung skor tersebut. Pada contoh yang sangat kecil seperti ini, jangan menganggap nilai skor sebagai bukti bahwa model akan bekerja sama baiknya pada data baru.
๐ฏ Praktik Lengkap โ Prediksi Nilai dari Jam Belajar
Ikuti langkah berikut di Google Colab. Kode dapat dijalankan dari atas ke bawah.
Langkah 1 โ Import library
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegressionLangkah 2 โ Membuat dataset
X = [[1], [2], [3], [4], [5], [6]]
y = [55, 60, 68, 75, 82, 88]Langkah 3 โ Membuat model
model = LinearRegression()
model.fit(X, y)Langkah 4 โ Melihat pola data
plt.scatter(X, y, label="Data")
plt.plot(X, model.predict(X), label="Garis Model")
plt.title("Jam Belajar dan Nilai")
plt.xlabel("Jam Belajar")
plt.ylabel("Nilai")
plt.legend()
plt.grid()
plt.show()Langkah 5 โ Prediksi
jam_baru = [[7]]
prediksi = model.predict(jam_baru)
print("Jika jam belajar =", jam_baru[0][0])
print("Prediksi nilai =", round(prediksi[0], 2))Langkah 6 โ Melihat parameter model
print("Koefisien:", model.coef_[0])
print("Intercept:", model.intercept_)jam_baru menjadi [[8]], [[10]], atau nilai lain. Bandingkan hasil prediksi dan jelaskan bahwa hasil tersebut merupakan keluaran model berdasarkan pola data yang tersedia.๐ฌ Diskusi dan Analisis
Setelah menjalankan praktik, diskusikan pertanyaan berikut:
- Bagaimana bentuk pola antara jam belajar dan nilai pada grafik?
- Apa yang terjadi pada prediksi ketika nilai jam belajar diubah?
- Mengapa prediksi tidak boleh dianggap sebagai nilai pasti?
- Apa kelemahan dataset yang hanya memiliki sedikit contoh?
- Data apa lagi yang mungkin relevan jika kita ingin membuat model prediksi nilai yang lebih lengkap?
Contoh kesimpulan yang aman
โPada dataset contoh, terdapat pola nilai yang cenderung meningkat ketika jumlah jam belajar meningkat. Model regresi linear digunakan untuk mempelajari pola tersebut dan menghasilkan prediksi untuk input baru.โ
๐ 5 Latihan Soal
Lihat pedoman jawaban
Lihat jawaban
model.fit(X, y)?Lihat jawaban
fit() digunakan untuk melatih model dengan data fitur dan target sehingga model mempelajari pola dari data tersebut.model.predict()?Lihat jawaban
predict() digunakan untuk menghasilkan prediksi dari data input yang diberikan kepada model yang sudah dilatih.Lihat jawaban
๐ ๏ธ 5 Tugas Praktik
Tugas 1 โ Mengenali Dataset
Buat dataset sederhana berisi minimal 8 baris data tentang satu objek yang memiliki satu fitur dan satu target. Tentukan mana yang menjadi fitur dan mana yang menjadi target.
Output: tabel dataset dan penjelasan fitur-target.
Tugas 2 โ Grafik Data
Gunakan dataset jam belajar dan nilai. Buat scatter plot menggunakan Matplotlib. Tambahkan judul, label sumbu X dan Y, serta grid.
Output: grafik dan dua kesimpulan berdasarkan pola yang terlihat.
Tugas 3 โ Model Regresi Linear
Buat model LinearRegression menggunakan dataset jam belajar dan nilai. Latih model dengan fit(), kemudian lakukan prediksi untuk minimal tiga input baru.
Output: kode, tiga hasil prediksi, dan penjelasan singkat.
Tugas 4 โ Membandingkan Prediksi
Gunakan dataset buatan guru atau dataset sederhana minimal 10 baris. Buat model regresi linear dan tampilkan data asli serta garis model dalam satu grafik.
Output: grafik, hasil prediksi, dan minimal tiga kesimpulan.
Tugas 5 โ Mini Proyek Machine Learning
Buat notebook Google Colab dengan alur lengkap: dataset โ menentukan fitur dan target โ visualisasi โ membuat model โ training โ prediksi โ evaluasi โ kesimpulan.
Gunakan minimal 10 baris data dan satu metode Machine Learning sederhana. Jelaskan setiap langkah dengan bahasa sendiri.
Bonus: Tambahkan satu fitur tambahan dan jelaskan apakah fitur tersebut dapat membantu menjelaskan target berdasarkan data yang tersedia.
Checklist Pengumpulan
๐ Ringkasan
- Machine Learning membuat komputer mempelajari pola dari data.
- Dataset adalah kumpulan contoh yang digunakan dalam proses pembelajaran.
- Feature adalah data masukan yang digunakan model.
- Target adalah nilai yang ingin diprediksi.
- Model adalah pola matematis yang dipelajari dari data.
LinearRegressiondapat digunakan untuk mengenal regresi linear.fit()digunakan untuk melatih model.predict()digunakan untuk membuat prediksi.- Data training dan testing membantu kita memisahkan proses belajar dan pengujian.
- Visualisasi membantu memahami pola sebelum atau sesudah membuat model.
- Prediksi bukan jaminan hasil sebenarnya.
- Dataset yang sedikit dapat membuat pembelajaran model menjadi terbatas.
๐ญ Refleksi Siswa
- Apa yang dimaksud dengan Machine Learning?
- Apa perbedaan fitur dan target?
- Apa fungsi
fit()? - Apa fungsi
predict()? - Mengapa dataset yang lebih banyak dan beragam biasanya penting dalam pembelajaran model?
- Apa yang kamu pahami tentang regresi linear?
- Mengapa hasil prediksi tidak boleh dianggap sebagai kepastian?
- Bagian praktik mana yang paling mudah?
- Bagian mana yang masih membingungkan?
๐ Google Colab
Gunakan Google Colab untuk menjalankan seluruh contoh kode pada materi ini.
Materi Pembelajaran Koding dan Kecerdasan Artifisial โข Python โข Google Colab โข Mengenal Machine Learning